iT邦幫忙

DAY 25
0

今天介紹量詞(quantifier)

先來看以下基本例子

In [1]: import re

In [2]: re.search(r"^\d\d\d\d\d$", "12345") != None
Out[2]: True

In [3]: re.search(r"^\d\d\d\d\d$", "123456") != None
Out[3]: False

5個數字正確,6個數字不相符.這樣打一堆\d,使用上不方便.
所以引入了量詞.

來看應用

In [4]: re.search(r"^\d{6}$", "123456") != None
Out[4]: True

In [5]: re.search(r"^\d{5}$", "12345") != None
Out[5]: True

這樣方便多了.

量詞表示法

表示法如下表,裡面x,y之間不能有空白隔開!切記!

編號 形式    意義
1    {x}     前面元素需出現x次,上面的基本範例就是這種方式
2    {x,y}   前面元素最少出現x次,最多出現y次
3    {x,}    前面元素最少出現x次,次數無上限
4    {0,y}   前面元素可以不出現,最多出現y次.其實就是第二種的特例.

來看應用:

In [6]: re.search(r"^\d{4,6}$", "12345") != None
Out[6]: True
符合2

In [7]: re.search(r"^\d{4,6}$", "123") != None
Out[7]: False
不合2

In [8]: re.search(r"^\d{4,6}$", "1234567") != None
Out[8]: False
不合2

In [9]: re.search(r"^\d{4,}$", "1234567") != None
Out[9]: True
符合3

In [10]: re.search(r"^\d{4,}$", "123") != None
Out[10]: False
不合3

In [11]: re.search(r"^\d{0,3}$", "123") != None
Out[11]: True
符合4

In [12]: re.search(r"^\d{0,3}$", "1234") != None
Out[12]: False
不合4

In [13]: re.search(r"^\d{0,3}[ab]{0,4}$", "123a") != None
Out[13]: True
符合4

In [14]: re.search(r"^\d{0,3}[ab]{0,4}$", "123ab") != None
Out[14]: True
符合4

In [15]: re.search(r"^\d{0,3}[ab]{0,2}$", "123aba") != None
Out[15]: False
不合4

量詞還有其他格式的表示法,我們明天繼續介紹.


上一篇
過濾資料探討4
下一篇
過濾資料探討6
系列文
蠻可愛的資料庫與資料處理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言